# 老板说：给我把这几百个表格中所有包含档案x003的相关数据全部找到并整理个新的表格给我！
# 需求： 把所有日期工作表中的特定行都提取出来整合成一个新表
# 步骤：
# 建立一个新的EXCEL工作簿
# 新表的表头和档案记录Excel中的一样，也是名称、配置、提交日期等
# 遍历档案记录Excel的每一张工作表sheet，再遍历第一列每一个有数据的单元格，对内容进行判断
# 找到符合条件的单元格后获取行号，根据行号将当前表中的特定行提取出来，并将行追加新创建的表中

from openpyxl import load_workbook, Workbook

# 导入总表
workbook = load_workbook('台账.xlsm')
# 新工作簿和新表
new_workbook = Workbook()
new_sheet = new_workbook.active
# 写入新表表头
new_header = ['名称', '配置', '提交日期', '受限操作', '操作时间', '状态', '存储位置']
new_sheet.append(new_header)

#  搜索的关键字
search_key = '档案x003'
# 核心步骤
for i in workbook.sheetnames:
    sheet = workbook[i]
    # 档案名列所有数据
    names = sheet['A']
    #  记录匹配的行索引
    idx = 0
    for cell in names:
        if cell.value == search_key:
            idx = cell.row
            break
    if idx > 0:
        data_lst = []
        for cell in sheet[idx]:
            if cell.value:
                data_lst.append(str(cell.value))
            else:
                # 单元格内容为空直接写入' '
                data_lst.append(' ')
        new_sheet.append(data_lst)
#         保存
new_workbook.save(filename='台账档案x003.xlsx')
